package com.kfm.am;

import com.mysql.cj.jdbc.Driver;

import java.sql.*;

public class Test {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // PreparedStatement Statement
        // 1. PreparedStatement 是 Statement 的子接口
        // 2. PreparedStatement 可以防止sql注入
        // 3. PreparedStatement 会对sql进行编译，编译之后可以通过setXxx可以替换占位符，可以多次替换
        // 4. 可以提高执行的性能
        // 5. Statement 中 使用executeQuery(String sql)执行sql，PreparedStatement使用executeQuery() 执行

        // 1.
        // 2. 注册驱动
        // DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.cj.jdbc.Driver"); // [解耦]
        // 3. 创建连接  数据库连接字符串  主协议：子协议：//主机地址：端口号/数据库名称
        String url = "jdbc:mysql://localhost:3306/manager";
        Connection connection = DriverManager.getConnection(url, "root", "");
        // 4. 获取执行sql的对象
        PreparedStatement ps = connection.prepareStatement("select * from books");
        // 5. 替换占位符
        // 6. 执行sql
        ResultSet set = ps.executeQuery();
        // 7. 解析结果集
        // 8. 释放资源  try - with - resources
    }
}
